<?php
/**
 * Interface for controllers. All controllers must implement this one.
 */
interface qController
{
    /**
     * Run() is function, that dispatches request. 
     * 
     * Example of $request's value:
     * http://.../controller/action - $request = "action";
     * http://.../controller/action/param - $request = "action/param";
     * @param string $request request
     */
    public function Run($request);
    
    /**
     * Returns filename of template. Used mainly by qTemplateParser::ParseController().
     * @return Filename of template file.
     */
    public function GetTemplateFilename();
    
    /**
     * Returns array of variables. Used mainly by qTemplateParser::ParseController().
     * @return Array of variables with keys.
     */
    public function GetVariables();
}